home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / utils / ptm229s.zip / README.1ST < prev    next >
Text File  |  1996-05-13  |  29KB  |  711 lines

  1.  
  2. DOS PHANTOM V2.9s from P1 Systems Incorporated (formerly P2 Enterprises)
  3.  
  4.     **********************************************************************
  5.     **  See the CHANGES IN V2.9 section of this file for new features.  **
  6.     **********************************************************************
  7.  
  8.  
  9.     DOS Phantom is a keystroke record-and-playback utility. Recordings
  10.     can be of any length and can be edited after recording.  Recordings
  11.     can be played back at high speed or with delays.  Playback can be
  12.     scheduled for a time in the future or invoked with a hot key. A
  13.     powerful script language is provided which incorporates file I/O,
  14.     looping and branching, waiting for screen text, branching on program
  15.     exit status, file I/O, pop-up windows and menus, and more.
  16.  
  17.                _______
  18.               ____|__     |               (tm)
  19.            --|       |    |-------------------
  20.              |   ____|__  |  Association of
  21.              |  |       |_|  Shareware
  22.              |__|   o   |    Professionals
  23.            -----|   |   |---------------------
  24.             |___|___|    MEMBER
  25.  
  26. INSTALLATION:
  27.  
  28.     Create a directory and unzip the PTM229.ZIP file into it.
  29.  
  30.     Example:
  31.           C:\> MKDIR PHANTOM
  32.           C:\> CD PHANTOM
  33.           C:\PHANTOM> PKUNZIP ..\PTM229
  34.  
  35.  
  36.     If you have the PTM.EXE self-extracting archive file, do this
  37.     instead:
  38.           C:\> MKDIR PHANTOM
  39.           C:\> CD PHANTOM
  40.           C:\PHANTOM> ..\PTM
  41.  
  42. DEMONSTRATION:
  43.  
  44.     Make sure you are in the directory containing the PHANTOM2.EXE and
  45.     DEMO files.  Then, type PHANTOM2 DEMO to run the demonstration.
  46.  
  47.     Now read the section in the PHANTOM.DOC file entitled "Before You
  48.     Start" for more installation information.
  49.  
  50.  
  51. REGISTRATION:
  52.  
  53.     When you register, P1 Systems will send you a free DOS Phantom
  54.     Quick Reference booklet.  This booklet contains just about every-
  55.     thing you need to use DOS Phantom without cracking the manual!
  56.     
  57.     You can register using Visa or MasterCard if you wish.
  58.  
  59.     See the file ORDER.FRM in this kit.
  60.  
  61.  
  62. DOS Phantom is:
  63.     - A task automation tool
  64.     - A tool for application integration (the process of making a
  65.     group of different applications work together automatically)
  66.     - A tool for creating self-executing demos (with looping and
  67.     timeout features)
  68.     - A software testing tool (including screen and print capture)
  69.     - A substitute for .BAT files
  70.     - A keystroke macro utility
  71.  
  72. DOS Phantom recordings can be edited to include:
  73.     - Pop-up text windows
  74.     - Pop-up menus
  75.     - Pauses for user input
  76.     - Branching based on:
  77.     - menu selection
  78.     - program exit status
  79.     - appearance of a text string on the screen
  80.     - String variables
  81.     - Commands to find, read, and write text files
  82.     - Looping
  83.     - Play music
  84.  
  85. DOS Phantom recordings can be scheduled for playback
  86.     - daily
  87.     - weekly
  88.     - once only
  89.  
  90. DOS Phantom recordings can also be played back using hot keys.
  91.  
  92. The included Scraper utility allows you to take output displayed by
  93. one program and play it into another program as if it were being typed
  94. at the keyboard.  And the use of Scraper can be recorded like any other
  95. keyboard activity.
  96.  
  97. DOS Phantom provides facilities similar to the scripting languages of
  98. popular communications programs such as Procomm and CrossTalk, but
  99. applied instead to *your* computer rather than the one you are connected
  100. to over the phone line.  You can even use DOS Phantom to control a
  101. Procomm session instead of using Procomm's scripting facility.
  102.  
  103. A demonstration recording and complete Users Guide are included.
  104. DOS Phantom is shareware.  The registration fee is $40.00.  All features
  105. are present and active in the shareware version.
  106.  
  107.  
  108. CHANGES FROM PREVIOUS VERSIONS
  109.  
  110.    Version 2.1 of DOS Phantom fixes a bug introduced in V2.0 which
  111.    prevented ALT and CTRL keys from playing back correctly into some
  112.    application programs, including CIM (CompuServe Information Manager).
  113.  
  114.    Version 2.2 is a redistribution of V2.1 which corrects the fact that
  115.    obsolete versions of the TXT2PTM and PTM2TXT programs were included
  116.    in PTM221.ZIP.
  117.  
  118.    Version 2.3 adds support for the PHANTOMDIR environment variable, and
  119.    support for scheduled playback and hot-key initiated playback with
  120.    the programs SCHEDULE and HOTFILE.
  121.  
  122.    Version 2.4 fixes two bugs reported just after version 2.3 was released.
  123.    Version 2.4 of PTM2TXT fixed a bug which caused the timings of certain
  124.    keystrokes (those with scan codes under 10h) to be set to zero.  Version
  125.    2.4 of PHANTOM2 fixes a problem where keystrokes were missed during
  126.    auto-repeat with typematic rates set above 15.  Minor changes were made
  127.    to the documentation.
  128.  
  129.    V2.4 also introduces the MAKEPTM program for producing DOS Phantom
  130.    recordings from plain ASCII text files.
  131.  
  132.    V2.5 fixes a bug in MAKEPTM which prevented processing files without
  133.    at least a 1 second line delay and incorporates changes to allow chaining
  134.    to another recording during playback.
  135.  
  136.    V2.6 adds support for the F11 and F12 keys and their SHFT, CTRL, and ALT
  137.    variants and fixes a bug which caused the schedule to be corrupted when
  138.    the default RECORDNG.PTM file was used for recording.
  139.  
  140.    V2.8 replaces the keyboard NumLock, ScrollLock, CapsLock, and Insert
  141.    keys to their pre-playback state when recording terminates unless
  142.    the $RetainKybdFlags directive is contained in the playback file.
  143.    (The $RetainKybdFlags directive has no arguments and may be placed anywhere
  144.    in the playback file.)  V2.8 also fixes a bug which caused scheduled
  145.    playbacks with days or dates specified other than the first in the list
  146.    to be ignored.
  147.  
  148.    V2.8A of PHANTOM2.EXE correctly reports errors when invalid hot key
  149.    combinations are specified.
  150.  
  151.    V2.8B of PHANTOM2.EXE correctly processes unused extended keyboard codes
  152.    (actually used by some products) which previously caused erroneous
  153.    directive processing to occur.
  154.  
  155.    V2.8C fixes a bug in which the use of ALT and CTRL hot keys with HOTFILE
  156.    caused keyboard to appear dead when playback completed.
  157.     
  158.    V2.8A of TXT2PTM.EXE correctly processes delays specified as MM:SS.CCC.
  159.    V2.8 incorrectly processed time delays of over approximately 5 minutes.
  160.  
  161.    V2.8A PTM2TXT.EXE correctly processes unused extended key codes and
  162.    their translation as <?>.
  163.  
  164.  
  165. CHANGES IN V2.9
  166.  
  167.    V2.9 adds support for the $DisableCtrlAltDel, $EnableCtrlAltDel, and
  168.    $Reboot directives which allow you to reboot the computer from a
  169.    Phantom playback and prevent Ctrl-Alt-Del from rebooting the computer
  170.    during critical sections of a playback.
  171.  
  172.    The $DisableKybd directive disables all keyboard input.  $Enablekybd
  173.    re-enables keyboard input.  An optional parameter of $DisableKybd is
  174.    a single key which, when depressed, will re-enable the keyboard.  Valid
  175.    keys for the $DisableKybd parameter are letters and numbers only. This
  176.    is to allow $DisableKybd to be used in situations it is desired to
  177.    protect against inadvertant key depressions, but where it is necessary
  178.    to re-enable the keyboard manually.
  179.  
  180.    The new $Sleep directive behaves just like the $Pause directive, except
  181.    that the timer is not reset after each keystroke as it is with $Pause.
  182.    $Sleep has one parameter, the number of seconds to sleep.  The maximum
  183.    number of seconds for all directives which accept seconds is 3600 (1 hr).
  184.  
  185.    The commands $MatchAt, $MatchTo, and $MatchFrom have been added.
  186.  
  187.    The syntax of the new Match commands is:
  188.     $MatchAt r,c n text
  189.     $MatchTo r,c n text
  190.     $MatchFrom r,c n text
  191.  
  192.     where r,c is the row and column number (1,1 is the upper left corner)
  193.     n is the timeout is seconds
  194.     text is text to match
  195.  
  196.     $MatchAt only looks for the text at the row and column specified.
  197.     The text must begin at that screen position for the match to succeed.
  198.     $MatchAt accepts -1 as the timeout value.  This results in a single
  199.     test of the screen location (effectively a timeout of zero).  A
  200.     timeout of -1 may not be used with the other $Match directives.
  201.  
  202.     $MatchTo searches for the text anywhere before (up and left of) the
  203.     row and column specified.
  204.  
  205.     $MatchFrom searches for the text anywhere after (down and to the
  206.     right of) the row and column specified.
  207.  
  208.    V2.9 adds the F11 and F12 keys and their SHIFT, ALT, and CTRL variations
  209.    as possible hot keys to the HOTFILE program. 
  210.  
  211.    V2.9 fixes an unreported bug in which control characters were
  212.    erroneously played back when references to uninitalized command line
  213.    parameters ($1-$9) were made.
  214.  
  215.    V2.9 adds the command line switch /T, which allows you to specify a
  216.    "trigger" value for recording file writes.  Normally, DOS Phantom
  217.    writes to the recording file after every 32 keystrokes.  Using /T,
  218.    you can specify any number of characters between 1 and 32 after
  219.    which writes are to occur.  For example, to cause the recording file
  220.    to be updated after every character, you would include /T=1 on the
  221.    DOS Phantom command line.  Small trigger values may result in an
  222.    undesirably large amount of disk activity.
  223.  
  224.    V2.9 increases the maximum number of scheduled playbacks from 16 to 32.
  225.    In the case when two or more playbacks are scheduled for the same time
  226.    (e.g., 08/12/93-16:00 and Thu-16:00), the one appearing first in the
  227.    SCHEDULE LIST display is executed, and any other playbacks scheduled for
  228.    that time are ignored.
  229.  
  230.    V2.9 adds the command line switch /N which places DOS Phantom in autonomous
  231.    mode.  When in autonomous mode, DOS Phantom ignores commands issued using
  232.    the PHANTOM2.EXE program and hot keys defined using HOTFILE.  Scheduled
  233.    playbacks defined with SCHEDULE are honored if recording or playback is
  234.    not in progress at the scheduled time.  The following command line
  235.    DOS Phantom in memory, disables the attention hot key, the mode display,
  236.    and sounds, begins recording into file file KEYSTROK.LOG, and places
  237.    DOS Phantom in autonomous mode.  Once this is done, DOS Phantom may not
  238.    be removed from memory using PHANTOM2 and recording cannot be stopped.
  239.  
  240.       C:\> PHANTOM2 /R/N/S/M/K=NONE/I KEYSTROK.LOG
  241.  
  242.    The P2FLUSH.EXE program, when executed, causes DOS Phantom to flush the
  243.    record buffer to disk.  P2FLUSH is effective even when DOS Phantom is
  244.    operating in autonomous mode.
  245.  
  246.    V2.9 adds support for 9 string variables S1-S9.  To include the contents
  247.    of a string variable in playback, the string variable is prefixed with a
  248.    dollar sign, similar to command line parameters.  A number of directives
  249.    are available for dealing with string variables:
  250.  
  251.     $Get Sn r,c len         reads len chars from screen row r column c
  252.                 into string variable Sn.
  253.     
  254.     $Read <file> Sn         reads a line from file <file> into string
  255.                 variable Sn.
  256.  
  257.     $Write <file> <text>    Appends <text> to <file>.  <Text> may contain
  258.                 string and command line variables, for
  259.                 example: "parm1=$1, string variable 3=$S3".
  260.                 (The quotation marks are not required syntax.)
  261.  
  262.     $Close                  Closes the file currently open for read,
  263.                 if any.  Subsequent reads of the file will
  264.                 begin at the start of the file.
  265.  
  266.     $Assign Sn <text>       Assigns <text> to string variable Sn.  <Text>
  267.                 may contains string and command line variables.
  268.     
  269.     $IfEqual <label> Sn <text> Branches to <label> if the contents of Sn
  270.                 are equal to <text>.  <Text> may contain string
  271.                 and command line parameters.  Comparison is
  272.                 case-sensitive.
  273.  
  274.     $IfEmpty <label> Sn     Branches to <label> if the string variable Sn
  275.                 is empty.
  276.  
  277.     $Clear Sn               Empties the string variable Sn.
  278.  
  279.    The maximum length of a string variable is 79 characters.
  280.  
  281.    The $IfClosed directive can be used to detect end of file since when
  282.    $Read encounters the end of file, the file being read is closed.  Only
  283.    one file may be open for read at a time.  When the second filename is
  284.    encountered, the first is automatically closed.  A subsequent $Read of
  285.    the first file will close the second file and return the first line of
  286.    the first file. 
  287.  
  288.    V2.9 adds support for looping using the $On directive.  The format of
  289.    the $On directive is: $On <count> <label>.  When the $On directive is
  290.    encountered <count> times, control is transferred to <label>. Before
  291.    <count> times, the directive is ignored.  Here is an example of a loop
  292.    which copies 200 lines from FILEA.TXT to FILEB.TXT unless the end of
  293.    FILEA.TXT is encountered first:
  294.  
  295.     $Loop:
  296.         $Read FILEA.TXT S1
  297.         $IfClosed EndLoop
  298.         $Write FILEB.TXT $S1
  299.         $On 200 EndLoop
  300.         $Goto Loop
  301.     $EndLoop:
  302.  
  303.    A maximum of 256 $On directives may be used in a single Phantom script.
  304.    The maximum count value is 65535.
  305.  
  306.    V2.9 adds support for the $FirstFile and $NextFile directives which
  307.    allow you to perform directory searches from within Phantom scripts.
  308.    
  309.     $FirstFile Sn <filename>        locates the first file matching
  310.                     <filename> which may include
  311.                     the * and ? wildcard characters and
  312.                     disk and directory specifications.
  313.                     The filename is placed in Sn.
  314.  
  315.     $NextFile Sn                    locates the next file matching the
  316.                     <filename> in the last $FirstFile
  317.                     executed.  The filename is placed in
  318.                     Sn.
  319.  
  320.    When no more files match <filename>, the string FILE NOT FOUND is placed
  321.    in Sn.  Here is an example of a script which places the names of all the
  322.    .PTM files in the PHANTOM directory into a file calles PTMLIST.TXT:
  323.  
  324.     $FirstFile S1 C:\PHANTOM\*.PTM
  325.     $IfEqual EndLoop S1 FILE NOT FOUND
  326.     $Loop:
  327.         $Write PTMLIST.TXT $S1
  328.         $NextFile S1
  329.         $IfEqual EndLoop S1 FILE NOT FOUND
  330.         $Goto Loop
  331.     $EndLoop:
  332.      
  333.  
  334.    V2.9 introduces a new type of directive: the $F directives.  $F
  335.    directives are similar to functions in programming languages in that
  336.    when a $F directive is placed in a string, the result of the $F directive
  337.    replaces the $F directive in the string.  $F directives take their
  338.    arguments in parenthesis immediately following the directive name.
  339.  
  340.    Three $F directives have been implemented in V2.9: $FSubStr, $FBefore,
  341.    and $FAfter. The $FSubStr directive extracts a substring from a string
  342.    variable.  Th format of $FSubStr is
  343.     
  344.     $FSubStr(Sn,<start>,<length>)
  345.  
  346.     where Sn is the string variable from which to extracts the substring
  347.           <start> is the character at which to start extracting (1-based)
  348.           <length> is the number of characters to extract
  349.  
  350.    Here is an example of $FSubStr being used to extract the characters
  351.    EFGHTUVW from the string ABCDEFGHIJKLMNOPQRSTUVWXYZ and placing them in
  352.    S2:
  353.  
  354.     $Assign S1 ABCDEFGHIJKLMNOPQRSTUVWXYZ
  355.     $Assign S2 $FSubStr(S1,5,4)$FSubStr(S1,20,4)
  356.  
  357.    $FBefore selects the portion of a string which appears before a specified
  358.    character, while $FAfter selects the portion of a string which occurs
  359.    after a specified character.  For example,
  360.  
  361.     $Assign S1 RECORDNG.PTM
  362.     $Assign S2 $FBefore(S1,.)
  363.     $Assign S3 $FAfter(S1,.)
  364.  
  365.    results in S2 containing RECORDNG (the substring before the period), and
  366.    S3 containg EXE (the substring after the period).
  367.  
  368.    $F directives can be used wherever the $Sn syntax is allowed, except in
  369.    *-prefixed output lines.  To output a substring as if it was being typed
  370.    at the keyboard, you must $assign it to a string variable first, and then
  371.    output the variable, like this:
  372.  
  373.     $Assign S6 $FSubStr(S3,1,8)
  374.     * $S6
  375.  
  376.    Here is a sample script which places the filenames of the files in the
  377.    current directory minus their filetypes (the three characters after the
  378.    period) in a file called TEST.TXT.  It then types the file.
  379.  
  380.     * DEL TEST.TXT
  381.     $FirstFile S1 *.*
  382.     $IfEqual EndLoop S1 FILE NOT FOUND
  383.     $Loop:
  384.         $Write TEST.TXT $FBefore(S1,.)
  385.         $NextFile S1
  386.         $IfEqual EndLoop S1 FILE NOT FOUND
  387.         $Goto Loop
  388.     $EndLoop:
  389.     * Type TEST.TXT
  390.  
  391.  
  392.   V2.9 adds the $Music directive.  $Music allows you to play melodies from
  393.   a Phantom script.  $Music accepts a series of note/duration arguments,
  394.   each of which specifies a musical note and the length of time for which
  395.   is to be played. Four octaves supported with notes from C1 to B5.  The
  396.   following notes are supported: A A# Bb C C# Dd D D# Eb F F# Gg G G# Ab R.
  397.   R is a rest (no sound).  Each note is suffixed with the octave in which
  398.   it is to be played, a forward slash, and the number of ticks for which
  399.   the note is to be sounded.
  400.   
  401.   Here is how the first few notes of Mary Had A Little Lamb would be
  402.   specified in a Phantom script (played in octave 3):
  403.  
  404.     $Music R/80
  405.     $Music E3/60 D3/20 C3/40 D3/40 E3/15 R/25 E3/15 R/25 E3/60 R/20 
  406.     $Music D3/15 R/25 D3/15 R/25 D3/40 R/40 E3/40 G3/15 R/25 G3/40
  407.     $Music R/80 
  408.  
  409.  
  410.   The $BeginMenu directive has a new parameter in V2.9.  The new parameter
  411.   is not required, and the behavior of $BeginMenu defaults to what it was
  412.   in previous versions.  The new parameter is either 0 or 1.  The default
  413.   is 0.  If 1 is supplied, the auto-incrementing feature of DOS Phantom
  414.   menus is disabled for that menu.  For example, the following $BeginMenu
  415.   directive would begin the definition of a non-auto-incrementing menu at
  416.   row 5, column 20, white on blue, saving existing Phantom pop-ups.
  417.  
  418.     $BeginMenu 5 20 1 S 1
  419.            | |  | | |
  420.            | |  | | +- disable auto incrementing
  421.            | |  | +--- save existing pop-ups
  422.            | |  +----- attribute code for white on blue
  423.            | +-------- column 20
  424.            +---------- row 5
  425.  
  426.  
  427.  
  428.   $ResumeKey and $IfKey
  429.  
  430.   The new $ResumeKey and $IfKey directives can be used in a variety of ways
  431.   to enhance the functionality of your Phantom scripts.  $ResumeKey accepts
  432.   a list of keys which will resume playback of the script from a $Pause or
  433.   $Sleep state.  $ResumeKey with no arguments removes any previously assigned
  434.   resume keys.  $ResumeKey Any makes any keystroke end a $Pause or $Sleep
  435.   state.  The following example allows F12 or Alt-F12 to terminate a $Pause
  436.   and then removes the resume key assignments:
  437.  
  438.     $ResumeKey <F12> <Alt-F12>
  439.     $Pause
  440.     $ResumeKey
  441.  
  442.   Resume key assignments, with the exception of Any, remain in effect until
  443.   changes with another $ResumeKey directive.  The $ResumeKey Any assignment
  444.   is automatically removed as soon as it is used to terminate a $Pause or
  445.   $Sleep.  Note that the keys listed following $ResumeKey are separated
  446.   with a single space.
  447.  
  448.   The $IfKey directive allows you to test the last keystroke entered by the
  449.   user. This is especially useful after a $Pause which might have been
  450.   terminated by a number of resume key assignments and after $EndDisplay
  451.   to find out which key the user pressed to terminate the display. This
  452.   in effect allows you to create a number of "hot keys" which are available
  453.   as long as your script is in execution.
  454.  
  455.   The following example demonstrates the use of the $ResumeKey and $IfKey
  456.   directives in a number of ways.
  457.  
  458.   !
  459.   ! HOTMENU - An example using $ResumeKey and $IfKey
  460.   !
  461.  
  462.   $Loop:
  463.   $BeginDisplay 4 15 1 30 R
  464.   $Title HotMenu
  465.  
  466.       Select one of the options below
  467.       by typing the letter preceeding    
  468.       the option name.
  469.   
  470.       A  Directory of .EXE files
  471.       B  Directory of .COM files
  472.       C  Directory of .BAT files
  473.       X  Exit
  474.   
  475.   $EndDisplay
  476.   
  477.   !
  478.   ! See if they pressed one of the special keys
  479.   !
  480.   $IfKey DIREXE A
  481.   $IfKey DIREXE a
  482.   
  483.   $IfKey DIRCOM B
  484.   $IfKey DIRCOM b
  485.  
  486.   $IfKey DIRBAT C
  487.   $IfKey DIRBAT c
  488.   
  489.   $IfKey EXIT X
  490.   $IfKey EXIT x
  491.   
  492.   !
  493.   ! They didn't press a special key.  re-display the "menu"
  494.   !
  495.   $Goto Loop
  496.   
  497.   !
  498.   ! Handle the "menu" options.  After executing the command, wait 10 seconds
  499.   ! or for any keystroke before re-displaying the "menu".
  500.   !
  501.   $DIREXE:
  502.   * CLS
  503.   * DIR *.EXE
  504.   $ResumeKey Any
  505.   $Pause 10
  506.   $Goto Loop
  507.   
  508.   $DIRCOM:
  509.   * CLS
  510.   * DIR *.COM
  511.   $ResumeKey Any
  512.   $Pause 10
  513.   $Goto Loop
  514.   
  515.   $DIRBAT:
  516.   * CLS
  517.   * DIR *.BAT
  518.   $ResumeKey Any
  519.   $Pause 10
  520.   $Goto Loop
  521.   
  522.   !
  523.   ! Take them to DOS.  Wait for F12 to re-display the "menu", or Alt-F12
  524.   ! to exit the playback.
  525.   !
  526.   $EXIT:
  527.   * cls
  528.   * Rem  **** Use F12 to return to the menu. ****
  529.   $ResumeKey <F12> <Alt-F12>
  530.   $Pause
  531.   $IfKey END <Alt-F12>
  532.   $Goto Loop
  533.  
  534.   $END:
  535.   $Music C4/5 R/5 C4/5
  536.   !
  537.   ! End of HOTMENU
  538.   !
  539.  
  540.  
  541. THE SCRAPER UTILITY
  542.  
  543.   V2.9 includes the SCRAPER utility which allows you to copy text displayed
  544.   by a program into Phantom's string variables and play the stored text back
  545.   later as if it were keyboard input.  Scraper is activated with the hot key
  546.   specified using DOS Phantom's /B command line switch.  The default Scraper
  547.   activation hot key is ALT-S.
  548.  
  549.   Scraper is named as it is for the slang term "screen scraping" commonly
  550.   used to describe Scraper's function.
  551.  
  552.   Install Scraper by typing SCRAPER/I at the DOS command line.  DOS Phantom
  553.   must be installed before Scraper can be installed.  Activate Scraper using
  554.   the hot key (default ALT-S).  A pop-up help window is displayed which
  555.   tells you to move the cursor using the arrow keys to the upper left of
  556.   the text you wish to select and press Enter.  As soon as you press an
  557.   arrow key, the help window disappears.
  558.  
  559.   When you press Enter, a second pop-up help window appears, telling you to
  560.   move the cursor to the lower right of the text you wish to select and
  561.   then to press the number key where you want to begin storing the selected
  562.   text.  The text will be stored in DOS Phantom string variables beginning
  563.   with that number.  If only one line of text was selected, only the one string
  564.   variable will be used. The contents of the string variables, if any, are
  565.   overwritten.
  566.  
  567.   To play back the contents of a string variable, invoke Scraper using the
  568.   hot key and press the number key of the string variable whose contents you
  569.   wish to play.
  570.  
  571.   To disable the pop-up help windows, install Scraper with the /H switch
  572.   like this: SCRAPER/H/I.  You may un-install scraper using the /U switch.
  573.   When you un-install DOS Phantom, Scraper will be automatically uninstalled.
  574.  
  575.   If you record your use of Scraper with DOS Phantom, it will be played back
  576.   correctly, allowing you to automate the movement of data from one program
  577.   into another (or even back into the same program).
  578.  
  579.   Scraper uses about 6K bytes of memory with help enabled, and about 3K bytes
  580.   with help disabled.
  581.  
  582.   V2.9a of PTM2TXT fixes bugs which sometimes acused PTM2TXT to
  583.   terminate without producing an output file or produce garbled output. 
  584.   
  585.   V2.9a of P2FLUSH fixes a bug which caused it not to recognize
  586.   installed instances of registered versions of PHANTOM2. 
  587.   
  588.   V2.9a of PHANTOM2 fixes a problem where recordings initiated with the
  589.   PHANTOM2 /R command when PHANTOM2 was already installed as a TSR
  590.   terminated with an erroneous disk full message after 32 keystrokes. 
  591.   Also, playback can now more reliably be paused with the attention hot
  592.   key. 
  593.   
  594.   V2.9b of PHANTOM2 fixes a problem where if a recording was made
  595.   following a playback in a single PHANTOM2 session, PTM2TXT would
  596.   report that a later version of PTM2TXT was needed to translate the
  597.   recording. 
  598.   
  599.   V2.9c of PHANTOM2 fixes a problem wherein certain of the new v2.9
  600.   directives could, under certain circumstances, cause PHANTOM2 to lose
  601.   its place in a playback file. 
  602.   
  603.   V2.9d of PHANTOM2 fixes a problem with $FirstFile which caused
  604.   PHANTOM2 to lose its place in the playback file and corrects a
  605.   malfunction in $SetPace introduced in v2.9 which caused hangs when
  606.   pace times of less than 83 ms were specified. 
  607.   
  608.   V2.9b of PTM2TXT correctly documents the $Get directive syntax in the
  609.   header comment.  PHANTOM.DOC has also been updated to reflect the
  610.   correct syntax. 
  611.   
  612.   V2.9e of PHANTOM2 fixes a problem with $IfEqual which caused PHANTOM2
  613.   to lose its place in the playback file if the branch was not taken. 
  614.   
  615.   V2.9c of PTM2TXT fixes a bug which caused the row and column numbers
  616.   of $MatchAt and $Get directives to be incorrectly translated. 
  617.   
  618.   V2.9a of TXT2PTM correctly detects references to non-existent labels
  619.   in $Goto and $If directives. 
  620.   
  621.   V2.9f of PHANTOM2 fixes a bug introduced in v2.0 where successive
  622.   invocations of a Phantom script could, under certain circumstances,
  623.   cause a hang when a menu was displayed. 
  624.   
  625.   V2.9g of PHANTOM2 corrects a problem where all $SetPace times were
  626.   incorrectly increased by 55 ms. 
  627.   
  628.   V2.9h of PHANTOM2 corrects a problem wherein the state of the NumLock,
  629.   ScrollLock, CapsLock, and Insert keys were set to off between
  630.   keystrokes during playback, although the state of the keyboard during
  631.   record was accurately reflected at the instant a key was played back. 
  632.   
  633.   V2.9i of PHANTOM2 adds support for the /0 command line switch (not to
  634.   be confused with /O) which allows redefinition of the character used
  635.   in pop-up text windows and menus.  This is to facilitate the use of
  636.   DOS Phantom in countries where character codes above 127 are used to
  637.   represent special language characters. 
  638.   
  639.   The use of this command line switch is detailed below:
  640.   
  641.       /0        change all border characters to spaces
  642.       /0=12345678    change border characters to 12345678 where
  643.               1 = upper left corner
  644.               2 = upper right corner
  645.               3 = lower left corner
  646.               4 = lower right corner
  647.               5 = horizontal line
  648.               6 = vertical line
  649.               7 = left junction (tee)
  650.               8 = right junction (tee)
  651.   
  652.               All eight border characters must be specified if
  653.               the = is present after /0.
  654.   
  655.   V2.9j of PHANTOM2.EXE fixes a problem where the Alt-, Ctl-, and
  656.   Shft-based attention keys (including the default Alt-P) were ignored
  657.   during playback.  V2.9j also adds support for the PHANTOMBORDER
  658.   environment variable.  If defined, PHANTOMBORDER performs the same
  659.   function as the /0 directive described above.  The following example,
  660.   which might be included in your AUTOEXEC.BAT file, sets the border
  661.   characters to non-graphic characters:
  662.   
  663.       SET PHANTOMBORDER="++++-|++"
  664.   
  665.   Note the use of the quotation marks to allow the use of the |
  666.   character. 
  667.   
  668.   V2.9k fixes a race condition which sometimes caused jumps to seemingly
  669.   random places in a playback when a sequence of directives with no
  670.   intervening keystrokes which required a disk read was processed when a
  671.   read request was already outstanding.  V2.9k also fixes a problem
  672.   wherein the final keystrokes were sometimes not played back if they
  673.   were preceeded by a $Goto directive. 
  674.   
  675.   V2.9m (together with TXT2PTM 2.9b and PTM2TXT 2.9d) corrects a problem
  676.   wherein a $Goto caused $SetPace directives in effect at the time of
  677.   the branch to be reset to zero.  V2.9m also changes the behavior of
  678.   $SetPace when used with keystroke timings.  In v2.9m, keystroke timing
  679.   is determined by the larger of the $SetPace time and the explicit
  680.   keystroke delay.  For example, if a $SetPace 500 directive is issued,
  681.   the keystroke "00:00.100 <cr>" will be delayed 500 ms, while the
  682.   keystroke "00:03.000 <cr>" will be delayed 3 seconds.  In previous
  683.   versions, when a $SetPace was in effect, all explicit keystroke timing
  684.   was ignored.  V2.9m also corrects a problem where keystroke timing was
  685.   sometimes inaccurate during playback after a branch to a line
  686.   containing a directive was performed. 
  687.   
  688.   V2.9n corrects a problem in which $IfEmpty directives could, under
  689.   certain circumstances, fail to branch when the target string variable
  690.   was in fact empty.  One occasion when this occurred was in the case
  691.   where a $IfEmpty directive preceeded by a $Write directive. 
  692.   
  693.   V2.9o corrects a problem where $IfTimeout branches following a
  694.   $ExitWait directive were always taken, even if the $ExitWait did not
  695.   time out. 
  696.   
  697.   V2.9p expands the print capture buffer from 2000 to 4000 bytes.  This
  698.   makes DOS Phantom more likely not to lose characters when printer
  699.   output is being captured from programs which ignore printer busy
  700.   return status. 
  701.   
  702.   V2.9q fixes a problem with $MatchFrom which caused video memory access
  703.   errors on some systems when Phantom was executed in a non-maximized
  704.   DOS box. 
  705.  
  706.   V2.9s adds the $PrintScreen directive. This directive emulates the
  707.   effect of the Print Screen key, which cannot be recorded using DOS
  708.   Phantom. Placing a $PrintScreen directive in a Phantom playback file
  709.   causes the same actions as if the Print Screen key was depressed at
  710.   that point.
  711.